use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Copy, Serialize, Deserialize, strum::Display, clap::ValueEnum, Default)]
#[serde(rename_all = "camelCase")]
pub enum CommandName {
    Init,
    Absorb,
    Status,
    Stf,
    Rub,
    Commit,
    Push,
    New,
    Describe,
    Oplog,
    Restore,
    Undo,
    Snapshot,
    Gui,
    BaseCheck,
    BaseUpdate,
    BranchNew,
    BranchDelete,
    BranchList,
    BranchShow,
    BranchUnapply,
    BranchApply,
    ClaudePreTool,
    ClaudePostTool,
    ClaudeStop,
    CursorAfterEdit,
    CursorStop,
    Worktree,
    Mark,
    Unmark,
    ForgeAuth,
    ForgeListUsers,
    ForgeForget,
    PublishReview,
    ReviewTemplate,
    Completions,
    #[default]
    Unknown,
}
